84 research outputs found
Optimizing indirect branch prediction accuracy in virtual machine interpreters
Interpreters designed for efficiency execute a huge number of indirect branches and can spend more than half of the execution time in indirect branch mispredictions. Branch target buffers are the best widely available form of indirect branch prediction; however, their prediction accuracy for existing interpreters is only 2%–50%. In this paper we investigate two methods for improving the prediction accuracy of BTBs for interpreters: replicating virtual machine (VM) instructions and combining sequences of VM instructions into superinstructions. We investigate static (interpreter buildtime) and dynamic (interpreter run-time) variants of these techniques and compare them and several combinations of these techniques. These techniques can eliminate nearly all of the dispatch branch mispredictions, and have other benefits, resulting in speedups by a factor of up to 3.17 over efficient threaded-code interpreters, and speedups by a factor of up to 1.3 over techniques relying on superinstructions alone
Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models
The upcoming many-core architectures require software developers to exploit
concurrency to utilize available computational power. Today's high-level
language virtual machines (VMs), which are a cornerstone of software
development, do not provide sufficient abstraction for concurrency concepts. We
analyze concrete and abstract concurrency models and identify the challenges
they impose for VMs. To provide sufficient concurrency support in VMs, we
propose to integrate concurrency operations into VM instruction sets.
Since there will always be VMs optimized for special purposes, our goal is to
develop a methodology to design instruction sets with concurrency support.
Therefore, we also propose a list of trade-offs that have to be investigated to
advise the design of such instruction sets.
As a first experiment, we implemented one instruction set extension for
shared memory and one for non-shared memory concurrency. From our experimental
results, we derived a list of requirements for a full-grown experimental
environment for further research
Adsorption of CO on a Platinum (111) surface - a study within a four-component relativistic density functional approach
We report on results of a theoretical study of the adsorption process of a
single carbon oxide molecule on a Platinum (111) surface. A four-component
relativistic density functional method was applied to account for a proper
description of the strong relativistic effects. A limited number of atoms in
the framework of a cluster approach is used to describe the surface. Different
adsorption sites are investigated. We found that CO is preferably adsorbed at
the top position.Comment: 23 Pages with 4 figure
Recommended from our members
Passive immunization of macaques with polyclonal anti-SHIV IgG against a heterologous tier 2 SHIV: outcome depends on IgG dose
Background: A key goal for HIV-1 envelope immunogen design is the induction of cross-reactive neutralizing antibodies (nAbs). As AIDS vaccine recipients will not be exposed to strains exactly matching any immunogens due to multiple HIV-1 quasispecies circulating in the human population worldwide, heterologous SHIV challenges are essential for realistic vaccine efficacy testing in primates. We assessed whether polyclonal IgG, isolated from rhesus monkeys (RMs) with high-titer nAbs (termed SHIVIG), could protect RMs against the R5-tropic tier-2 SHIV-2873Nip, which was heterologous to the viruses or HIV-1 envelopes that had elicited SHIVIG. Results: SHIVIG demonstrated binding to HIV Gag, Tat, and Env of different clades and competed with the broadly neutralizing antibodies b12, VRC01, 4E10, and 17b. SHIVIG neutralized tier 1 and tier 2 viruses, including SHIV-2873Nip. NK-cell depletion decreased the neutralizing activity of SHIVIG 20-fold in PBMC assays. Although SHIVIG neutralized SHIV-2873Nip in vitro, this polyclonal IgG preparation failed to prevent acquisition after repeated intrarectal low-dose virus challenges, but at a dose of 400 mg/kg, it significantly lowered peak viremia (P = 0.001). Unexpectedly, single-genome analysis revealed a higher number of transmitted variants at the low dose of 25 mg/kg, implying increased acquisition at low SHIVIG levels. In vitro, SHIVIG demonstrated complement-mediated Ab-dependent enhancement of infection (C’-ADE) at concentrations similar to those observed in plasmas of RMs treated with 25 mg/kg of SHIVIG. Conclusion: Our primate model data suggest a dual role for polyclonal anti-HIV-1 Abs depending on plasma levels upon virus encounter
Combination of fast-ion diagnostics in velocity-space tomographies:Paper
Fast-ion Dα (FIDA) and collective Thomson scattering (CTS) diagnostics provide indirect measurements of fastion velocity distribution functions in magnetically confined plasmas. Here we present the first prescription for
velocity-space tomographic inversion of CTS and FIDA measurements that can use CTS and FIDA measurements
together and that takes uncertainties in such measurements into account. Our prescription is general and could
be applied to other diagnostics. We demonstrate tomographic reconstructions of an ASDEX Upgrade beam ion
velocity distribution function. First, we compute synthetic measurements from two CTS views and two FIDA
views using a TRANSP/NUBEAM simulation, and then we compute joint tomographic inversions in velocity-space from these. The overall shape of the 2D velocity distribution function and the location of the maxima at full and half beam injection energy are well reproduced in velocity-space tomographic inversions, if the noise level in the measurements is below 10%. Our results suggest that 2D fast-ion velocity distribution functions can be directly inferred from fast-ion measurements and their uncertainties, even if the measurements are taken with different diagnostic methods
A Portable Forth Engine
The Forth engine discussed in this paper is written in GNU C, which provides several extensions that are important for Forth implementation. The indirect threaded Forth engine is completely machine-independent, direct threading requires a few machine-specific lines for each machine. Using a portable language like GNU C encourages producing an engine with many primitives. In order to make the development of primitives easier and less error-prone, an automatic tool generates most of the code for a Forth primitive from the stack effect notation, even if the TOS is kept in a register. The engine is combined with the parts of the system written in Forth by loading a machine-independent image file that contains the executable Forth code in relocatable form
- …